package com.hnzbxy.api.biz.service;

import com.hnzbxy.api.biz.entity.ClassInfo;
import com.hnzbxy.api.biz.vo.ClassInfoVO;
import com.hnzbxy.api.system.vo.PageVO;

import java.util.List;

/**
 * 班级信息Service（替换原ClassService）
 */
public interface ClassInfoService {

    /**
     * 分页+条件查询班级列表
     * @param pageNum 页码
     * @param pageSize 每页条数
     * @param classInfoVO 查询条件
     * @return 分页VO
     */
    PageVO<ClassInfoVO> findClassInfoList(Integer pageNum, Integer pageSize, ClassInfoVO classInfoVO);

    /**
     * 按条件查询所有班级（用于Excel导出）
     * @param classInfoVO 查询条件
     * @return 班级Entity列表
     */
    List<ClassInfo> findAllByCondition(ClassInfoVO classInfoVO);

    /**
     * 新增班级
     * @param classInfoVO 班级VO
     * @return 新增后的Entity（含自增ID）
     */
    ClassInfo add(ClassInfoVO classInfoVO);

    /**
     * 删除班级
     * @param id 班级ID
     */
    void delete(Long id);

    /**
     * 获取班级详情（编辑用）
     * @param id 班级ID
     * @return 班级VO
     */
    ClassInfoVO edit(Long id);

    /**
     * 更新班级信息
     * @param id 班级ID
     * @param classInfoVO 班级VO
     */
    void update(Long id, ClassInfoVO classInfoVO);
}